package com.youzan.open.sdk.gen.v1_0_0.model;

import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.Maps;
import com.google.common.collect.Multimap;
import com.youzan.open.sdk.model.APIParams;
import com.youzan.open.sdk.model.ByteWrapper;
import com.youzan.open.sdk.model.FileParams;
import java.util.List;
import java.util.Map;
import java.util.Date;

public class YouzanUsersBusinessPlatformUserGetParams implements APIParams, FileParams  {

    /**
     * 帐号子类型
     */
    private String businessAccountSubType;
    /**
     * 业务模块数据
     */
    private String businessAccountType;
    /**
     * 三方平台识别，一般为clientid
     */
    private String businessClientId;
    /**
     * 业务类型
     */
    private String businessModule;
    /**
     * 三方用户的ID
     */
    private String businessPlarformUserId;
    /**
     * 有赞用户ID
     */
    private String businessUserId;

    public void setBusinessAccountSubType(String businessAccountSubType) {
        this.businessAccountSubType = businessAccountSubType;
    }

    public String getBusinessAccountSubType() {
        return this.businessAccountSubType;
    }

    public void setBusinessAccountType(String businessAccountType) {
        this.businessAccountType = businessAccountType;
    }

    public String getBusinessAccountType() {
        return this.businessAccountType;
    }

    public void setBusinessClientId(String businessClientId) {
        this.businessClientId = businessClientId;
    }

    public String getBusinessClientId() {
        return this.businessClientId;
    }

    public void setBusinessModule(String businessModule) {
        this.businessModule = businessModule;
    }

    public String getBusinessModule() {
        return this.businessModule;
    }

    public void setBusinessPlarformUserId(String businessPlarformUserId) {
        this.businessPlarformUserId = businessPlarformUserId;
    }

    public String getBusinessPlarformUserId() {
        return this.businessPlarformUserId;
    }

    public void setBusinessUserId(String businessUserId) {
        this.businessUserId = businessUserId;
    }

    public String getBusinessUserId() {
        return this.businessUserId;
    }


    public Map<String, Object> toParams() {
        Map<String, Object> params = Maps.newHashMap();
        if (businessAccountSubType != null) {
            params.put("business_account_sub_type", businessAccountSubType);
        }
        if (businessAccountType != null) {
            params.put("business_account_type", businessAccountType);
        }
        if (businessClientId != null) {
            params.put("business_client_id", businessClientId);
        }
        if (businessModule != null) {
            params.put("business_module", businessModule);
        }
        if (businessPlarformUserId != null) {
            params.put("business_plarform_user_id", businessPlarformUserId);
        }
        if (businessUserId != null) {
            params.put("business_user_id", businessUserId);
        }
        return params;
    }

    public Multimap<String, ByteWrapper> toFileParams() {
        Multimap<String, ByteWrapper> params = ArrayListMultimap.create();

            return params;
    }


}